Dev Sites and Sandboxes
Drupal GovCon 2026 Speakers Examine Bots, AI Trade-Offs, Accessibility, Search, and Migration
JSON:API Views 8.x-1.2
JSON:API on its own gets you decoupled entities: fetch a node, fetch a set of IDs, done. It doesn't get you the filtering, sorting and pagination that most real content listings actually need - a list of articles by tag, a paginated product catalogue, an events calendar with a date filter. You either reimplement that logic on the frontend, or Drupal ships a hand-written custom resource for every list on the site. That gap is the same regardless of what's rendering on the other end, React and Next.js, Vue and Nuxt, or anything else that can call an API.
JSON:API Views closes it: whatever a View can already do, a decoupled frontend can ask for over JSON:API, using the access checks and query logic the view already has, no separate endpoint to write or maintain. It's also, not coincidentally, why I still maintain the module at all: it's the backend half of DruxtViews, the piece that makes Views work in Druxt, my own Nuxt-based decoupled Drupal framework.
Managing Drupal content with ChatGPT and MCP
How to evaluate a Drupal developer's competence
Responding to Drupal Enquiries with a Community-First Mindset
This is a guest post from the team at Zoocha, a Gold Drupal Certified Partner with offices in the United Kingdom, Spain, Brazil, and the United States.
As Drupal agencies, we're fortunate to benefit from a vibrant ecosystem that generates awareness, interest, and opportunities for all of us. At Zoocha we receive inbound enquiries from a variety of sources. Whether they arrive via Drupal AI, Drupal CMS, a community recommendation, a Drupal event, or direct through our site, every enquiry often represents something important: a person taking their first step towards our community.
Not every lead is a project.
Not every lead has a budget.
Not every lead is ready to buy.
But they always deserve a meaningful response.
The First Impression of Drupal
When someone reaches out to a Drupal agency, they're rarely just evaluating that agency, they’re more often than not seeking to engage with Drupal itself. For many prospective clients, they may not know the difference between Drupal, the Drupal Association, Drupal CMS, an implementation partner, a hosting provider, or the wider open source community. They simply know they've heard about Drupal and are looking for guidance.
The response they receive helps shape their perception of the entire ecosystem. If their first interaction feels dismissive, transactional, or overly focused on qualification, they may walk away believing that's what the Drupal community is like. If their first interaction is friendly and genuine, they leave with a very different impression.
Resist the Urge to Qualify Too Early
Most agencies have some form of qualification process. It's sensible, and so do we. Time is valuable, and we know not every conversation will become a project.
Choosing a Multisite Approach in Drupal
Organizations usually begin considering a multisite approach (the ability to manage multiple distinct websites from one single Drupal instance) when they are scaling their digital presence. This scaling is not only about traffic, but also about organizational structure.
Common drivers include:
- the need to support many related brands, locations, or programs that require their own websites
- pressure to reduce long-term maintenance costs and duplicated effort
- desire to balance central governance with local autonomy, while maintaining shared design systems or functionality across multiple properties.
A multisite architecture is not always the right answer. It often introduces additional complexity and is rarely justified when sites have fundamentally different goals or audiences, when editorial teams require complete independence, or when there is insufficient technical capacity to support shared infrastructure.
When a multisite approach does make sense, there are several established patterns in Drupal. Each pattern solves a different organizational problem and comes with meaningful tradeoffs.
Single Codebase, Multiple SitesThis category includes approaches where many independent Drupal sites share a common codebase while maintaining separate databases, configuration, and content.
Rendering Mermaid diagrams in Drupal, and the highlight.js trap along the way
This started with an agent writing a comment into our Drupal intranet. It had traced an authentication flow, decided a sequence diagram was the clearest way to say it, and wrote one. What landed on the page was a grey box of monospaced text.
That is a small failure with a wider shape behind it. A growing share of what gets written into a Drupal site is no longer typed by a person into CKEditor. It arrives through an API, from a script, from an agent with an MCP connection to the site. And whatever writes it, the diagram comes out the same way:
<pre><code class="language-mermaid">sequenceDiagram
Alice->>Bob: hello</code></pre>
That is not a choice anyone made. It is what a fenced ```mermaid block becomes when Markdown is converted to HTML, which is the shape a language model writes in because it is the shape it was trained on. It is also, independently, exactly what CKEditor 5's Code Block plugin emits when a human picks a language from the dropdown. Human authors and machine authors converge on the same markup, which is a convenient thing to be able to rely on.
Mermaid is worth supporting for the ordinary reasons too. The diagram stays as text in the field, so it is searchable, it diffs, and the next person fixes one line instead of rebuilding a PNG that nobody has the source for. But the reason it became urgent for us is the one above: content we did not hand-write was arriving in a form the site silently failed to render.
Getting it working turned out to be short, with one genuinely non-obvious trap in the middle. This post is the trap, wrapped in the working solution.
How to build accessible Drupal Themes with Twig and BEM
Drupal GovCon 2026 Speakers Preview AI Governance, Migrations, Performance, and Delivery
ExperienceKit: AI Landing Page Generation for Drupal - How It Actually Works
Who Pays for Drupal’s Shared Work?
Recent audited figures give Drupal’s sustainability debate a concrete baseline. The Drupal Association says unrestricted reserves are about $960,000, equal to 2.3 months of operating expenses and below the board’s three-month minimum. Its 2025 accounts put Drupal.org and supporting services at about $2.1 million in programme expenses, without a dedicated funding mechanism. The question is no longer whether shared work has a cost, but how those costs become recurring commitments.
The same problem appears across infrastructure, security review, dependency maintenance and contribution. These responsibilities continue after software is adopted and cannot be assumed to exist indefinitely through volunteer capacity, one-off grants, donated services or event revenue. Current proposals differ on the mechanism, but increasingly treat stewardship as capacity that organisations and institutions have to plan and fund.
That makes this week’s question narrower than whether Drupal needs stewardship. It is who pays, for what, and on what recurring basis. With voting in the 2026 Drupal Association at-large board election open until 14 August 2026 at 23:59 UTC, those choices are also part of a live governance decision.
Follow The DropTimes on LinkedIn, X, Bluesky, and Facebook, or join #thedroptimes on Drupal Slack.
Why PreviousNext signed Drupal's Manifesto for an Open Future
We recently added PreviousNext's name to "A Manifesto for an Open Future," joining 15 other Drupal agency founders and leaders in a public declaration that open source, not closed platforms, is the foundation for the future. Since founding PreviousNext in 2009, we've built our business on that premise, so signing felt less like adopting a new position and more like putting our name to something we've already been doing for 17 years.
by Owen Lansbury / 8 August 2026The manifesto's core conviction is: "we are here to help build a resilient civilisation, and to build it in the open." The nine statements that follow reinforce that open source code becomes a refuge as trust in proprietary technology erodes; that data sovereignty stops being optional; that structured content becomes the raw material machines reason best on; and that security earned through a quarter-century of public scrutiny counts for more than a security case a vendor simply asserts rather than proves.
We didn't need much convincing to sign. PreviousNext invests around 5% of our annual revenue by contributing to Drupal's codebase and community, we're Australia's only Top Tier Drupal Certified Partner, and we rank among the top five global contributors to the project despite our comparatively small team. From helping formalise the DrupalSouth Steering Committee through the 2010s and volunteering on the Drupal Association board from 2019 to 2025, the manifesto's language about supporting the wider community across competitive lines is the essence of the commitment we already have.
Introducing Language Audit and Configuration Language Lock for Drupal and asking for your feedback
Display Builder Beta 6 Brings UX Refresh and Drupal 11.4 Fixes
Talking Drupal #564 - Approachable Open Source
Today we are talking about Maintaining NodeJS, Patternlab, Writing Books, and Open Source with guest Brian Muenzenmeyer. We'll also cover AI Webform Generator as our module of the week.
For show notes visit: https://www.talkingDrupal.com/564
James Abrahams Makes Sustainable Funding a Focus of Board Candidacy
A backend engineer guide to Single Directory Components in Drupal

Single Directory Components completely changed how we handle the frontend. But if you spend most of your time engineering the backend, SDC can feel incredibly frustrating.
You build a massive render array, pass it to the template, and the strict schema rejects it instantly. The days of dumping raw entity objects into Twig are over.
When you work with SDC, the component dictates exactly what data it accepts. This guide details the cleanest way to format your data and bridge the gap between custom backend logic and strict frontend schemas.
Implementing the Component WorkflowIf your backend architecture does not format data perfectly, the system throws a fatal error. Follow these steps to ensure your data matches the strict schema requirements.
1. Define your component schema
Every component needs a YAML file. This is the contract your backend must follow. Keep your properties simple and predictable.